
var store_meses;
var store_year;

Ext.onReady(function()
{
    
    store_year = new X.store.Json({
        fields : [
            'codigoYear',
            'nombreYear'
        ]
    });
    
    store_meses = new Ext.data.ArrayStore({
        fields : [ 'codigoMes', 'nombreMes' ],
	data   : [[0, '(todos los meses)'], [1, 'Enero'], [2, 'Febrero'], [3, 'Marzo'],
                  [4, 'Abril'], [5, 'Mayo'], [6, 'Junio'], [7, 'Julio'], [8, 'Agosto'],
                  [9, 'Setiembre'], [10, 'Octubre'], [11, 'Noviembre'], [12, 'Diciembre']
                 ]
    });

    store_editor = new X.store.Json({
        url    : '/grafico2/ajax-filtro',
        fields : [
            'fechaMovimiento',
            'tipoMovimiento',
            'concepto',
            'monto',
            'codigoCuenta',
            'nombreDepartamento',
            'numeroComprobante',
            'numeroSolicitud',
            'codigo',
            'nombreRubro'
        ]
    });
     

    var grid = new X.grid.GridPanel({

        id        : 'grid',
        height    : 260,
        width     : 665,
        store     : store_editor,
        useBbar   : false,
        columns:[
            new Ext.grid.RowNumberer(),
            new X.column.Date     ({header:          'Fecha de Carga',   dataIndex: 'fechaMovimiento',       width: 130}),
            new X.column.Text     ({header:       'Tipo de Movimiento',  dataIndex: 'tipoMovimiento',       width: 130,
                                        renderer : function(val){
                                                        if (val == 1)
                                                            return 'Ingreso';
                                                        if (val == 2)
                                                            return 'Egreso de Monto Mayor';
                                                        if (val == 3)
                                                            return 'Egreso de Caja Chica';
                                                    }
                                        
                                   }),
            new X.column.Text     ({header:                 'Concepto',   dataIndex: 'concepto',        width: 180}),
            new X.column.Money     ({header:                    'Monto',   dataIndex: 'monto',           width: 100}),
            new X.column.Text     ({header:                   'Cuenta',   dataIndex: 'codigoCuenta',    width: 100})
            ,
            new X.column.Text     ({header:             'Codigo Rubro',   dataIndex: 'codigo',          width: 130}),
            new X.column.Text     ({header:             'Nombre Rubro',   dataIndex: 'nombreRubro',     width: 130})
        ]
    });

    var form = new X.form.FormPanel2({

        title            : 'Rentabilidad',
        submitButtonText : 'Crear',
        returnButtonText : 'Cancelar',
        submitUrl        : '/grafico2/ajax-crear',
        returnUrl        : '/grafico2/pdf',
        width            : 780,
        height           : 510,
        labelWidth       : 90,
        layout           : 'absolute', 

        items:[

            new Ext.form.FieldSet({title:'Fecha', x: 230, y: 5, width: 275, height: 100, layout:'absolute', items:
            [
                new X.field.Hidden({                         id:'gridRows'             }),
                {layout:'form',  items:[
                    new X.field.Combo({
                        id           : 'filtroYear',
			hiddenName   : 'codigoYear',
			fieldLabel   : 'Año',
			valueField   : 'codigoYear',
			displayField : 'nombreYear',
			width        : 150,
			typeAhead    : true,
			store        : store_year
		    }),
                    new X.field.Combo({
                        id           : 'filtroMes',
			hiddenName   : 'codigoMes',
			fieldLabel   : 'Mes',
			valueField   : 'codigoMes',
			displayField : 'nombreMes',
			width        : 150,
			typeAhead    : true,
			store        : store_meses
		    })
                ]}

            ]}),
            new Ext.Button   ({text:'Buscar Movimientos', x: 255, y:115, width:230, handler:cargar_grilla}),
            new Ext.form.FieldSet({title:'Movimientos', x: 10, y: 140,items:
            [
                grid
            ]})
        ]
    });

    // ajax para cargar los datos filtrador
    function cargar_grilla(){
        store_editor.setBaseParam('filtroYear',    Ext.getCmp('filtroYear')    .getValue());
        store_editor.setBaseParam('filtroMes',     Ext.getCmp('filtroMes')    .getValue());
        store_editor.reload();
    }


    form.getForm().addListener('beforeaction', function(form, action){
        if (store_editor.getCount() <= 0){
            X.msg.Failure('Debe haber al menos un movimiento'); return false;
        }
        return true;
    });



});



